// cooki验证
// var user = getCookie("username");
// var username = document.querySelector(".exit .my");
// username.innerText = "hello：" + user;
$(window).resize(function () {
    if ($(window).innerWidth() >= 768) {
        $('#myNav').collapse('hide');     
    }
});

// if(!user){
//     alert("未登录！");
//     location.href="./index.html";
// }
// exit.onclick = function (e) {
//     var it=confirm("确定退出用户吗？");
//     if (it){
//         removeCookie("username");
//         location.href = "../admin/login.html";
//     }

// }


// 存储学生列表数据
var tableData = [];
// 当前页
var nowPage = 1;
// 每页展示条数
var pageSize = 8;
var tableData2 = [];
// 总页数
var allPage = 20;
// 绑定事件函数
function init() {
    location.hash = 'student-list'; //页面一刷新后要显示第一个tab，所以hash也应该修改
    $(window).trigger('hashchange');
    bindEvent();
}

init();


function bindEvent() {
    getTableData();
    // 哈希值改变触发页面变化事件
    $(window).on('hashchange', function () {
        var hash = location.hash;
        // 内容部分改变
        $('.tab-pane.active').removeClass('active');
        $(hash).addClass('active');
        // 左边状态部分改变
        $('.nav a.active').removeClass('active');
        $('.nav a[href="' + hash + '"]').addClass('active');
    });
     // 点击左侧菜单栏进行切换
     $('.nav a').on('click', function () {
        $('#myNav').collapse('hide');

        var id = $(this).attr('href').slice(1);
        location.hash = id;
    });




    // 新增学生事件
    $('#add-student-btn').click(function (e) {
        // 阻止表单提交默认刷新功能
        e.preventDefault();
        // 获取表单数据
        var data = $('#add-student-form').serializeArray();
        // 将表单数据转化成对象的形式
        data = formatData(data);
        // 如果数据没问题则提交否则弹出错误信息
        // console.log(data);
        if (!data) {
            alert('请将信息填写完全后提交');
        } else {
            // 提交新增的学生信息:
            sendData('./php2/addStudent.php', data, function (res) {
                // 提交成功跳转到列表页
                alert('提交成功');
                $('#add-student-form')[0].reset();
                pie.init();
                getTableData();
                location.hash = 'student-list';
            })
        }
        return false;
    });
    // 点击搜索按钮  过滤表格数据
    $('#search-btn').click(function () {
        var val = $('#search-inp').val();
        // 将当前页置为1 获取表格数据
        nowPage = 1;
        var data = {
            find: val
        }
        sendData('./php2/selectStudent3.php', data, function (res) {
            tableData = res.data;
            // console.log(tableData);
            allPage = Math.ceil(tableData.length / pageSize);
            randerList();
            // renderTable(res.data);
        }, function (res) {
            alert("请求失败，请点击重试！");
        })
    })
    // 编辑按钮点击事件
    $('#table-body').on('click', '.edit', function (e) {
        // 回填编辑弹框内表单数据
        var index = $(this).parents('tr').index();
        // console.log(index)
        renderEditForm(tableData2[index]);
        // 删除按钮点击事件
    }).on('click', '.del', function (e) {
        // 删除的学生索引
        var index = $(this).parents('tr').index();
        // 确认删除弹框
        var isDel = confirm('确认删除学号为' + tableData[index].sno + tableData[index].name + '学生信息?');
        if (isDel) {
            var data = {
                sno: tableData[index].sno
            }
            sendData("./php2/deleteStudent.php", data, function (res) {
                if (res.status) {
                    alert(tableData[index].name + "的信息删除成功!");
                    pie.init();
                    getTableData();
                } else {
                    alert("删除失败！");
                }
            })
        }
    });
    // 编辑表单提交
    $('#editSubmitBtn').click(function (e) {
        e.preventDefault();
        var data = $('#edit-form').serializeArray();

        data = formatData(data);
        // console.log(data);
        if (data.sNo.length > 10) {
            alert("学号格式不正确！");
            return;
        }
        if (!data) {
            alert('请将信息填写完全后提交');
        } else {
            sendData('./php2/updateStudent.php', data, function (res) {
                // 提交成功跳转到列表页
                alert('修改成功');
                $('#add-student-form')[0].reset();
                pie.init();
                getTableData();
                $('#modal').slideUp();
            })

        }
    });

}

//=============================================================================
// 将表单数据转换成对象
function formatData(data) {
    var obj = {};
    // for循环的数据可以是数组  也可以是对象（类数组）
    // forEach循环只能是数组
    for (var i = 0; i < data.length; i++) {
        var item = data[i];
        if (!item.value) {
            // 如果是数组的forEach  或者map  filter  方法中return的话  代表的是方法的返回值  
            // 否则是最近一层函数的返回值
            return false;
        }
        obj[item.name] = item.value;
    }
    return obj;
}
// 发送数据
function sendData(path, data, cb, ce) {
    $.ajax({
        url: path,
        type: 'get',
        data: data,
        // dataType: 'json',
        success: function (res) {
            if (res.status) {
                cb(res);
            } else {
                // console.log(res);
                alert(res.msg);
            }
        },
        error: function (res) {
            ce(res);
        }
    })
};

// 获取学生列表数据
function getTableData() {
    sendData("./php2/findAllStudent.php", "", function (res) {
        tableData = res.data;
        allPage = Math.ceil(tableData.length / pageSize)
        var lists = tableData.slice(0, pageSize);
        renderTable(lists);
        randerList()
    }, function () {
        alert("请求失败，请刷新重试！");
    })
}

function renderTable(data) {
    var str = '';
    data.forEach(function (item, index) {
        str += '<tr>\
        <td>' + item.sno + '</td>\
        <td>' + item.name + '</td>\
        <td>' + (item.sex == 1 ? '男' : '女') + '</td>\
        <td>' + item.college + '</td>\
        <td>' + item.grade + '</td>\
        <td>' + item.class + '</td>\
        <td>' + item.major + '</td>\
        <td>\
        <button class="btn edit btn-success text-nowrap" data-toggle="modal" data-target="#editMessage">编辑</button>\
        <button class="btn del btn-danger text-nowrap">删除</button>\
        </td>\
    </tr> '
    });
    $('#table-body').html(str);
}
// 回填表单数据
function renderEditForm(data) {
    var form = $('#edit-form')[0];
    form["sNo"].value = data.sno;
    form["name"].value = data.name;
    form["email"].value = data.college;
    form["birth"].value = data.grade;
    form["phone"].value = data.class;
    form["address"].value = data.major;
    form["sex"].value = data.sex;
}

function randerList() {
    var lists = tableData.slice(0, pageSize);
    tableData2 = lists;
    renderTable(lists);
    $('#page').turnpage({
        nowPage: nowPage,
        allPage: allPage,
        callback: function (page) {
            var lists = tableData.slice((page - 1) * pageSize, page * pageSize);
            tableData2 = lists;
            renderTable(lists);
        }
    })

}